iT邦幫忙

6

2026 CKA 考試經驗分享

  • 分享至 

  • xImage
  •  

前幾天剛考完 Certified Kubernetes Administrator(CKA),在全職工作的同時我大約花了兩個月備考,趁記憶還新鮮,把真正有用的和踩到的坑都寫下來。

這個考試為什麼比想像中的難

在這個 Coding assistants 猖獗(?)的時代,我已經很習慣直接問 AI 指令怎麼寫。CKA 完全不吃這套。它是全實作的終端機考試,兩小時,沒有任何提示,就是你跟一堆壞掉的 cluster 面對面,然後看著 kubectl 指令卡住、時間一秒一秒跑掉。

如果你跟我一樣之前沒考過這種純動手的考試,要克服的不只是 Kubernetes 本身,還有「在壓力下快速、正確地打指令」這件事。這個比我預期花了更多時間。


我怎麼準備的

第一階段:Udemy 打底

從一門 Udemy 課程開始,把核心概念先弄紮實。課程整體不錯,但網路那章節涵蓋得不夠全,建議另外補充。這個階段我用了很多 Gemini 來填補概念空缺 —— 能夠跟它說「幫我用考試會考的角度解釋這個」,真的滿好用的。

第二階段:Killer.sh —— 現實的毒打

第一次跑 Killer.sh 模擬考,我考了 16/75 (!),而且根本做不完所有題目。

Killer.sh 設計得比正式考試難很多、題量也更密集。它的目的就是讓你覺得自己不行,這樣真正上場時才會覺得題目是人能解的。但話說回來,16/75 這個數字確實讓我楞了一下,它清楚地告訴我問題在哪:太慢,而且對工具還不夠熟練。

第三階段:練速度

帶著不同目標重做 Udemy 的 lab —— 不是「把答案做出來」,而是「快速把答案做出來」。這裡需要的肌肉記憶,不是背指令,而是消除猶豫:知道該去找哪個資源、怎麼快速拉一個 YAML 模板來改、哪題該先跳過之後再回來。

第四階段:Killer.sh 第二輪

第二次模擬考:兩小時內做到 53/93,延時 12 分鐘後推到 58/93。和第一次完全是不同的體驗。還不完美,但我感覺準備好了。


如果重來,我會怎麼做

我的準備時程其實有點趕,部分原因是低估了建立肌肉記憶需要多久,加上之前沒有考過這類實作考試。如果重來(或之後準備 CKS),我會照這個順序:

官方 K8s 文件 → Killercoda → Udemy Lab → 報名考試 → 刷 Killer.sh

關鍵差異:更早開始用 Killercoda,從一開始就在真實終端機環境裡累積手感,而不是後期才補。


考試當天真正重要的事

剪貼簿和瀏覽器的基本操作

考試終端機裡要用 Ctrl + Shift + C / Ctrl + Shift + V 複製貼上,一般的快捷鍵沒用。查文件時用 Ctrl + F 直接跳到你需要的 YAML,不要一直滾。聽起來很基本,但緊張又趕時間的時候,連這種事都需要肌肉記憶。

指令卡住不要傻等

control plane 的指令如果卡住了,不要盯著它看。開第二個終端機分頁,去做下一題,之後再回來。這個習慣在整場考試幫我省了大概 5-10 分鐘。

五分鐘原則

一題花了超過五分鐘還不確定怎麼做,就先標記、跳過。先把有把握的分數拿到,再用剩下的時間回來攻難題。這是很顯而易見的策略,但當你做到一半覺得「再多一點就解出來了」的時候,很容易忘記。

修壞掉的 cluster:直接抄好的 config

如果題目要你修復某個 cluster 元件,先看同個 cluster 裡(或另一個 cluster 的)正常節點是怎麼設定的。拿一份能跑的 config 當基底,比從記憶裡重建快多了,也安全多了。

不要從頭寫 YAML

kubectl get <resource> -o yaml 把現有資源拉出來改。在時間壓力下從零開始寫 manifest,是最容易因為手殘打錯字而丟分的方式。

節點變成 NotReady 時

  1. systemctl status kubeletjournalctl -u kubelet -f
  2. crictl pscrictl logs
  3. 如果 container runtime 行為怪異,直接看 /var/log/pods

值得記的路徑和 DNS 格式

  • Control plane static pods: /etc/kubernetes/manifests
  • Kubelet config 和憑證: /var/lib/kubelet(PKI 在 /var/lib/kubelet/pki
  • CNI config: /etc/cni/net.d/
  • Service DNS: <service>.<namespace>.svc.cluster.local
  • Pod DNS: <pod-ip-with-hyphens>.<namespace>.pod.cluster.local

指令備查表

實際用到的指令,不是 kubectl 全功能說明書。

Cluster 查詢和 context

kubectl get all
kubectl get pod -l env=prod
kubectl -n <namespace> get deploy,ds,sts,pv,pvc
kubectl --kubeconfig <file> config current-context
kubectl cluster-info --kubeconfig <file>
kubectl api-resources --namespaced -o name

Kustomize

kubectl kustomize <dir>
kubectl kustomize <dir> | kubectl diff -f -
kubectl kustomize <dir> | kubectl apply -f -

Cluster 維護

openssl x509 -text -noout -in <cert_file>
kubeadm certs check-expiration
kubeadm certs renew <name>
kubeadm token create --print-join-command
systemctl daemon-reload && systemctl restart kubelet
crictl ps -a
crictl logs <container_id>
crictl inspect <container_id>

RBAC

kubectl auth can-i <verb> <resource> --as=system:serviceaccount:<namespace>:<serviceaccount-name>

Workload 和網路

# Base64 編碼,不換行(這個很重要)
echo -n "secret-data" | base64 -w 0

# 把 pod 直接 expose 成 ClusterIP service
kubectl expose pod nginx-resolver --name=nginx-resolver-service --port=80 --target-port=80 --type=ClusterIP

# 臨時 debug pod,離開後自動刪除
kubectl run test-nslookup --image=busybox:1.28 --rm -it --restart=Never -- nslookup nginx-resolver-service

# 建立帶多個 label 的 pod
kubectl -n <ns> run <pod-name> --image=<image> --labels "key1=val1,key2=val2"

# 從 pod 內部 curl 一個 FQDN
kubectl -n <ns> exec <pod-name> -it -- curl <service>.<namespace>.svc.cluster.local

# ConfigMap 更新後 rolling restart
kubectl rollout restart deploy <deployment-name> -n <ns>

# 查路由表
ip route show

關於考試形式的想法

在 AI 能幾秒內生出一份能跑的 YAML manifest 之前,純實作考試的邏輯是說得通的 —— 在壓力下正確打出指令,代表你真的懂這些東西。但我不確定這個邏輯現在還站不站得住腳。

話雖如此,我不覺得 CKA 沒有價值。被丟進一堆壞掉的環境、要自己想辦法排查出來,這跟背語法是完全不同的事。只是我確實在想,兩小時的倒數計時,測的到底是真正重要的能力,還是只是最容易量化的那個。

也許這個形式需要的是演進,而不是消失 —— 少一點「你能不能打得夠快」,多一點「沒有任何提示,你能不能找出問題在哪」。後者感覺才是現在真正重要的東西。


最後一句話

每一題都要完整讀完再開始打指令。緊張的時候掃題很容易看漏細節,然後 namespace 設錯、白白丟分。

祝您考試順利!


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
huangsb
iT邦好手 1 級 ‧ 2026-06-05 07:26:42

在台灣這張證照沒用,還不如累積實作經驗。

Clark iT邦研究生 4 級 ‧ 2026-06-05 09:06:58 檢舉

別這麼說,真要說的話幾乎所有這類的認證都比國內的資訊碩士有用,念研究所不如累積產業經驗。
至少別人還有持續學習的熱誠,很可貴

雷N iT邦研究生 1 級 ‧ 2026-06-05 09:38:58 檢舉

這是敲門磚,至少在人資或主管看履歷時,有證照,機會比較高,履歷不被扔掉。

我要留言

立即登入留言